package com.example.permission.utils;

import com.example.permission.utils.tags.AuthTag;
import org.thymeleaf.dialect.AbstractProcessorDialect;
import org.thymeleaf.processor.IProcessor;
import org.thymeleaf.standard.StandardDialect;

import java.nio.charset.StandardCharsets;
import java.util.HashSet;
import java.util.Set;

/**
 * 自定义方言类
 */
public class BsDialect extends AbstractProcessorDialect {
    /**
     *  permission:hasMenu=""
     * @param name  方言名称 Bs标签名称
     * @param prefix   前缀  permission
     * @param processorPrecedence 优先级，设置成与方言处理器的优先级一样,方言处理器的优先级就是1000
     */
    public BsDialect() {
        //PROCESSOR_PRECEDENCE方言处理器
        super("Bs", "permission", StandardDialect.PROCESSOR_PRECEDENCE);
    }

    /**
     * 添加标签
     * @param s
     * @return
     */
    @Override  //自定义标签类添加进来
    public Set<IProcessor> getProcessors(String s) {
        Set<IProcessor> set = new HashSet<>();
        set.add(new AuthTag());
        return set;
    }
}
